const path = require('path');
// 自动生成html模板并动态加载生产的xxx.bundle.js
const HtmlWebpackPlugin = require('html-webpack-plugin');
// 每次打包时清空指定文件夹
const { CleanWebpackPlugin } = require("clean-webpack-plugin");

module.exports = {
	mode: 'development',
	// entry: './src/entry.js',
	// context 默认为项目根目录, 即path.resolve(__dirname, '../')
	context: path.resolve(__dirname, '../'), // 基础目录，绝对路径，用于从配置中解析入口起点(entry point)和 loader
	entry: {
		app: './src/entrys/entry3.js',
		print: './src/assets/js/print.js'
	},
	output: {
		// filename: 'bundle.js',
		filename: '[name].bundle.js', // 根据entry动态输出
		path: path.resolve(__dirname, '../dists/dist3'),
		publicPath: './'	// 执行npm run server时用'/', 其他用'./'
	},
	plugins: [
		new CleanWebpackPlugin({
			cleanStaleWebpackAssets: false // true清理所有文件， false只删除变动过的文件(如执行 npm run watch时dist下的index.html时没有改变的，不需要删除)
		}), // 每次打包前删除dist文件夹
		new HtmlWebpackPlugin({
			title: '管理输出',
			filename: 'index3.html',
			// template: 'index.html',
			inject: true,
			// favicon: path.join(__dirname, '..', 'favicon.ico')
		})
	]
}